<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
  xmlns:camunda="http://camunda.org/schema/1.0/bpmn"
  targetNamespace="Examples">
  
  <escalation id="escalation" name="escalation" escalationCode="escalationCode" />

  <process id="escalationProcess" isExecutable="true">
  
  <startEvent id="start" />
  
  <sequenceFlow sourceRef="start" targetRef="subProcess" />
  
   <subProcess id="subProcess">
    <startEvent id="startSubProcess" />
    <sequenceFlow sourceRef="startSubProcess" targetRef="mySubProcessUserTask" />
    <userTask id="mySubProcessUserTask" />
    <sequenceFlow sourceRef="mySubProcessUserTask" targetRef="endSubProcess" />
    <endEvent id="endSubProcess" />
    
    <subProcess id="escalationEventSubprocess1" triggeredByEvent="true">
    
      <startEvent id="escalationStartEvent" isInterrupting="true">
         <escalationEventDefinition escalationRef="escalation" />
      </startEvent>
      
      <sequenceFlow sourceRef="escalationStartEvent" targetRef="endInEscalationSubprocess" />
      
      <endEvent id="endInEscalationSubprocess" />
    
    </subProcess>
    
    <!-- multiple interrupting event subprocesses -->
    <subProcess id="escalationEventSubprocess2" triggeredByEvent="true">
    
      <startEvent id="escalationStartEvent2" isInterrupting="true">
         <escalationEventDefinition escalationRef="escalation" />
      </startEvent>
      
      <sequenceFlow sourceRef="escalationStartEvent2" targetRef="endInEscalationSubprocess2" />
      
      <endEvent id="endInEscalationSubprocess2" />
    
    </subProcess>
    
   </subProcess>
  
  <sequenceFlow sourceRef="subProcess" targetRef="theEnd" />
    
  <endEvent id="theEnd" />  

  </process>

</definitions>
